import os
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import pickle
from io import BytesIO
from zipfile import ZipFile
from urllib.request import urlopen
from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor
from sklearn.feature_selection import SelectKBest, f_regression
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.model_selection import GridSearchCV, train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import LinearSVR
from sklearn.tree import DecisionTreeRegressor, plot_tree
from xgboost import XGBRegressor
# ensure openpyxl==3.1.0, version 3.1.1 has a bug
MajorRoadsEmissionsURL = 'https://data.london.gov.uk/download/london-atmospheric-emissions-inventory-2013/8c520de2-c518-4e64-932c-0071ac826742/LAEI2013_MajorRoads_EmissionsbyLink_2013.xlsx'
SupportingDocURL = 'https://data.london.gov.uk/download/london-atmospheric-emissions-inventory-2013/1f3755f3-dae8-4d39-b9b4-0cc7adb4e826/1.%20Supporting%20Information.zip'
LocalFileMajorRoadsEmissions = 'data/LAEI2013_MajorRoads_EmissionsbyLink_2013.xlsx'
LocalFileSupportingDoc = 'data/1. Supporting Information.zip'
# Check if data folder exists, if not create it
if not os.path.exists('data'):
os.makedirs('data')
# Check if data is already downloaded, if not set load_from_local to False
if os.path.exists(LocalFileMajorRoadsEmissions):
load_from_local = True
else:
load_from_local = False
if load_from_local:
MajorRoadsEmissionsURL = LocalFileMajorRoadsEmissions
xls = pd.ExcelFile(MajorRoadsEmissionsURL)
if load_from_local:
DocZip = ZipFile(LocalFileSupportingDoc)
else:
resp = urlopen(SupportingDocURL)
DocZip = ZipFile(BytesIO(resp.read()))
DocZip.namelist()[:10]
['1. Supporting Information/', '1. Supporting Information/1. Road Traffic Data/', '1. Supporting Information/1. Road Traffic Data/Excel/', '1. Supporting Information/1. Road Traffic Data/Excel/LAEI2013_2008_AADT-VKM.xlsx', '1. Supporting Information/1. Road Traffic Data/Excel/LAEI2013_2010_AADT-VKM.xlsx', '1. Supporting Information/1. Road Traffic Data/Excel/LAEI2013_2013_AADT-VKM.xlsx', '1. Supporting Information/1. Road Traffic Data/Excel/LAEI2013_2020_AADT-VKM.xlsx', '1. Supporting Information/1. Road Traffic Data/Excel/LAEI2013_2025_AADT-VKM.xlsx', '1. Supporting Information/1. Road Traffic Data/Excel/LAEI2013_2030_AADT-VKM.xlsx', '1. Supporting Information/1. Road Traffic Data/Excel/LAEI2013_VKM_AllYears_Summary.xlsx']
xls.sheet_names
['2013 LTS Rds', '2013 Other Major Rds']
df_LTSroads = pd.read_excel(xls, '2013 LTS Rds')
print(df_LTSroads.shape)
df_LTSroads.head()
(366220, 32)
| GridId | Toid | GRID_ExactCut_ID | Location_ExactCut | BoroughName_ExactCut | Lts | Length (m) | Emissions | Year | Pollutant | ... | Artic5Axle | Artic6Axle | PetrolCar | DieselCar | PetrolLgv | DieselLgv | LtBus | Coach | ElectricCar | ElectricLgv | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 6253 | 4000000027908919 | 24 | External | NonGLA | 18898 | 50.761449 | DFT | 2013 | CO2 | ... | 0.241372 | 0.190560 | 8.761443 | 4.810774 | 0.037550 | 1.735121 | 0.0 | 0.0 | 0.0 | 0.0 |
| 1 | 6253 | 4000000027947931 | 24 | External | NonGLA | 18895 | 28.592125 | DFT | 2013 | CO2 | ... | 0.000000 | 0.000000 | 0.015535 | 0.008576 | 0.000000 | 0.000000 | 0.0 | 0.0 | 0.0 | 0.0 |
| 2 | 6253 | 4000000028013383 | 24 | External | NonGLA | 15816 | 5.101391 | DFT | 2013 | CO2 | ... | 0.027271 | 0.021509 | 0.939028 | 0.518684 | 0.004055 | 0.184415 | 0.0 | 0.0 | 0.0 | 0.0 |
| 3 | 6253 | 4000000028025820 | 24 | External | NonGLA | 15816 | 3.757501 | DFT | 2013 | CO2 | ... | 0.020087 | 0.015843 | 0.691654 | 0.382044 | 0.002987 | 0.135834 | 0.0 | 0.0 | 0.0 | 0.0 |
| 4 | 6253 | 4000000028029388 | 24 | External | NonGLA | 15816 | 1.624593 | DFT | 2013 | CO2 | ... | 0.008685 | 0.006850 | 0.299044 | 0.165180 | 0.001292 | 0.058729 | 0.0 | 0.0 | 0.0 | 0.0 |
5 rows × 32 columns
df_OtherMajorRoads = pd.read_excel(xls, '2013 Other Major Rds')
print(df_OtherMajorRoads.shape)
df_OtherMajorRoads.head()
(513740, 32)
| GridId | Toid | GRID_ExactCut_ID | Location_ExactCut | BoroughName_ExactCut | DotRef | Length (m) | Emissions | Year | Pollutant | ... | Artic5Axle | Artic6Axle | PetrolCar | DieselCar | PetrolLgv | DieselLgv | LtBus | Coach | ElectricCar | ElectricLgv | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 5911 | 4000000027989878 | 2 | External | NonGLA | 28440 | 9.714495 | DFT | 2013 | CO2 | ... | 3.006694 | 12.549219 | 18.791658 | 19.630267 | 0.279151 | 11.005820 | 0.000000 | 0.744254 | 0.0 | 0.0 |
| 1 | 5911 | 4000000027989880 | 2 | External | NonGLA | 28440 | 0.000000 | DFT | 2013 | CO2 | ... | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.0 | 0.0 |
| 2 | 5911 | 4000000027989882 | 2 | External | NonGLA | 57226 | 8.577192 | DFT | 2013 | CO2 | ... | 0.760333 | 2.446611 | 19.478135 | 10.300493 | 0.120149 | 7.734197 | 0.754408 | 0.868990 | 0.0 | 0.0 |
| 3 | 5911 | 4000000028014332 | 2 | External | NonGLA | 57226 | 9.347936 | DFT | 2013 | CO2 | ... | 0.823130 | 2.648621 | 20.173154 | 10.553940 | 0.123945 | 7.418739 | 0.820669 | 0.897038 | 0.0 | 0.0 |
| 4 | 5911 | 4000000027888882 | 2 | External | NonGLA | 28440 | 0.000000 | DFT | 2013 | CO2 | ... | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.0 | 0.0 |
5 rows × 32 columns
# concat the two dataframes
df_RoadEmissions = pd.concat([df_LTSroads, df_OtherMajorRoads], ignore_index=True)
print(df_RoadEmissions.shape)
df_RoadEmissions.head()
(879960, 33)
| GridId | Toid | GRID_ExactCut_ID | Location_ExactCut | BoroughName_ExactCut | Lts | Length (m) | Emissions | Year | Pollutant | ... | Artic6Axle | PetrolCar | DieselCar | PetrolLgv | DieselLgv | LtBus | Coach | ElectricCar | ElectricLgv | DotRef | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 6253 | 4000000027908919 | 24 | External | NonGLA | 18898.0 | 50.761449 | DFT | 2013 | CO2 | ... | 0.190560 | 8.761443 | 4.810774 | 0.037550 | 1.735121 | 0.0 | 0.0 | 0.0 | 0.0 | NaN |
| 1 | 6253 | 4000000027947931 | 24 | External | NonGLA | 18895.0 | 28.592125 | DFT | 2013 | CO2 | ... | 0.000000 | 0.015535 | 0.008576 | 0.000000 | 0.000000 | 0.0 | 0.0 | 0.0 | 0.0 | NaN |
| 2 | 6253 | 4000000028013383 | 24 | External | NonGLA | 15816.0 | 5.101391 | DFT | 2013 | CO2 | ... | 0.021509 | 0.939028 | 0.518684 | 0.004055 | 0.184415 | 0.0 | 0.0 | 0.0 | 0.0 | NaN |
| 3 | 6253 | 4000000028025820 | 24 | External | NonGLA | 15816.0 | 3.757501 | DFT | 2013 | CO2 | ... | 0.015843 | 0.691654 | 0.382044 | 0.002987 | 0.135834 | 0.0 | 0.0 | 0.0 | 0.0 | NaN |
| 4 | 6253 | 4000000028029388 | 24 | External | NonGLA | 15816.0 | 1.624593 | DFT | 2013 | CO2 | ... | 0.006850 | 0.299044 | 0.165180 | 0.001292 | 0.058729 | 0.0 | 0.0 | 0.0 | 0.0 | NaN |
5 rows × 33 columns
traffic_excel = DocZip.read('1. Supporting Information/1. Road Traffic Data/Excel/LAEI2013_2013_AADT-VKM.xlsx')
traffic_xls = pd.ExcelFile(BytesIO(traffic_excel))
df_AADT = pd.read_excel(traffic_xls, 'MajorGrid_AADTandVKM_2013')
print(df_AADT.shape)
df_AADT.head()
(87999, 44)
| RowID | Year | Toid | GRID_ExactCut_ID | Location_ExactCut | BoroughName_ExactCut | TLRN | MotorwayNumber | AADT Motorcycle | AADT Taxi | ... | VKM_Coach | VKM_Rigid2Axle | VKM_Rigid3Axle | VKM_Rigid4Axle | VKM_Artic3Axle | VKM_Artic5Axle | VKM_Artic6Axle | VKM_ElectricCar | VKM_ElectricLgv | VKM_TOTAL | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1.0 | 2013.0 | 4.000000e+15 | 836.0 | Outer | Hillingdon | Other | Other | 88.301916 | 77.112580 | ... | 149.248696 | 293.680300 | 55.978941 | 39.030966 | 16.191367 | 10.970609 | 3.993946 | 4.335614 | 1.235289 | 16605.011414 |
| 1 | 2.0 | 2013.0 | 4.000000e+15 | 2217.0 | Outer | Hillingdon | Other | Other | 88.301916 | 77.112580 | ... | 98.338925 | 193.503902 | 36.884134 | 25.717231 | 10.668379 | 7.228458 | 2.631583 | 2.856706 | 0.813924 | 10940.494996 |
| 2 | 3.0 | 2013.0 | 4.000000e+15 | 282.0 | External | NonGLA | Other | Other | 310.363572 | 100.322495 | ... | 1657.075319 | 12950.212101 | 3011.364039 | 2861.551314 | 1710.809301 | 1966.897025 | 1647.110606 | 221.806380 | 47.635028 | 796735.125068 |
| 3 | 4.0 | 2013.0 | 4.000000e+15 | 873.0 | Outer | Hillingdon | Other | Other | 39.473081 | 144.548284 | ... | 118.008843 | 9777.985094 | 2051.227418 | 1024.275647 | 470.758531 | 815.631678 | 1959.389833 | 78.775616 | 15.287825 | 284144.265992 |
| 4 | 5.0 | 2013.0 | 4.000000e+15 | 2930.0 | Outer | Hillingdon | Other | Other | 39.473081 | 144.548284 | ... | 401.216526 | 33244.027352 | 6973.937855 | 3482.419671 | 1600.524988 | 2773.054115 | 6661.700602 | 267.828056 | 51.976850 | 966057.900401 |
5 rows × 44 columns
# left join df_RoadEmissions and df_AADT on the ['Toid' and 'GRID_ExactCut_ID'] column
df = pd.merge(df_RoadEmissions, df_AADT, how='left',
left_on=['Toid', 'GRID_ExactCut_ID'],
right_on=['Toid', 'GRID_ExactCut_ID'])
print(df.shape)
df.head()
(879960, 75)
| GridId | Toid | GRID_ExactCut_ID | Location_ExactCut_x | BoroughName_ExactCut_x | Lts | Length (m)_x | Emissions | Year_x | Pollutant | ... | VKM_Coach | VKM_Rigid2Axle | VKM_Rigid3Axle | VKM_Rigid4Axle | VKM_Artic3Axle | VKM_Artic5Axle | VKM_Artic6Axle | VKM_ElectricCar | VKM_ElectricLgv | VKM_TOTAL | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 6253 | 4000000027908919 | 24 | External | NonGLA | 18898.0 | 50.761449 | DFT | 2013 | CO2 | ... | 0.0 | 2383.880434 | 229.558857 | 335.509098 | 194.242109 | 247.217230 | 176.583736 | 28.990862 | 5.460174 | 104036.993985 |
| 1 | 6253 | 4000000027947931 | 24 | External | NonGLA | 18895.0 | 28.592125 | DFT | 2013 | CO2 | ... | 0.0 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.046589 | 0.000000 | 140.050860 |
| 2 | 6253 | 4000000028013383 | 24 | External | NonGLA | 15816.0 | 5.101391 | DFT | 2013 | CO2 | ... | 0.0 | 239.573680 | 23.070058 | 33.717777 | 19.520818 | 24.844678 | 17.746199 | 2.913505 | 0.548733 | 10455.442789 |
| 3 | 6253 | 4000000028025820 | 24 | External | NonGLA | 15816.0 | 3.757501 | DFT | 2013 | CO2 | ... | 0.0 | 176.461358 | 16.992575 | 24.835302 | 14.378333 | 18.299696 | 13.071212 | 2.145983 | 0.404177 | 7701.103189 |
| 4 | 6253 | 4000000028029388 | 24 | External | NonGLA | 15816.0 | 1.624593 | DFT | 2013 | CO2 | ... | 0.0 | 76.294807 | 7.346907 | 10.737788 | 6.216614 | 7.912054 | 5.651467 | 0.927837 | 0.174750 | 3329.647849 |
5 rows × 75 columns
# save the joined dataset df to csv in data folder
df.to_csv('data/df.csv', index=False)
# remove unnecessary columns
columnstokeep = df.columns
for a in columnstokeep:
if 'VKM' in a:
columnstokeep = columnstokeep.drop(a)
df = df[columnstokeep]
print(df.shape)
df.head()
(879960, 58)
| GridId | Toid | GRID_ExactCut_ID | Location_ExactCut_x | BoroughName_ExactCut_x | Lts | Length (m)_x | Emissions | Year_x | Pollutant | ... | AADT Rigid3Axle | AADT Rigid4Axle | AADT Artic3Axle | AADT Artic5Axle | AADT Artic6Axle | AADT ElectricCar | AADT ElectricLgv | AADT TOTAL | Speed (kph) | Length (m)_y | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 6253 | 4000000027908919 | 24 | External | NonGLA | 18898.0 | 50.761449 | DFT | 2013 | CO2 | ... | 12.389882 | 18.108290 | 10.483747 | 13.342950 | 9.530679 | 1.564711 | 0.29470 | 5615.144325 | 42.269546 | 50.761449 |
| 1 | 6253 | 4000000027947931 | 24 | External | NonGLA | 18895.0 | 28.592125 | DFT | 2013 | CO2 | ... | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.004464 | 0.00000 | 13.419814 | 32.236053 | 28.592125 |
| 2 | 6253 | 4000000028013383 | 24 | External | NonGLA | 15816.0 | 5.101391 | DFT | 2013 | CO2 | ... | 6.194941 | 9.054145 | 5.241873 | 6.671475 | 4.765339 | 0.782356 | 0.14735 | 2807.572163 | 35.051885 | 10.202783 |
| 3 | 6253 | 4000000028025820 | 24 | External | NonGLA | 15816.0 | 3.757501 | DFT | 2013 | CO2 | ... | 6.194941 | 9.054145 | 5.241873 | 6.671475 | 4.765339 | 0.782356 | 0.14735 | 2807.572163 | 35.051885 | 7.515003 |
| 4 | 6253 | 4000000028029388 | 24 | External | NonGLA | 15816.0 | 1.624593 | DFT | 2013 | CO2 | ... | 6.194941 | 9.054145 | 5.241873 | 6.671475 | 4.765339 | 0.782356 | 0.14735 | 2807.572163 | 35.051885 | 3.249186 |
5 rows × 58 columns
df.columns
Index(['GridId', 'Toid', 'GRID_ExactCut_ID', 'Location_ExactCut_x',
'BoroughName_ExactCut_x', 'Lts', 'Length (m)_x', 'Emissions', 'Year_x',
'Pollutant', 'Emissions Unit', 'Motorcycle', 'Taxi', 'Car',
'BusAndCoach', 'Lgv', 'Rigid', 'Artic', 'Rigid2Axle', 'Rigid3Axle',
'Rigid4Axle', 'Artic3Axle', 'Artic5Axle', 'Artic6Axle', 'PetrolCar',
'DieselCar', 'PetrolLgv', 'DieselLgv', 'LtBus', 'Coach', 'ElectricCar',
'ElectricLgv', 'DotRef', 'RowID', 'Year_y', 'Location_ExactCut_y',
'BoroughName_ExactCut_y', 'TLRN', 'MotorwayNumber', 'AADT Motorcycle',
'AADT Taxi', 'AADT Pcar', 'AADT Dcar', 'AADT PLgv', 'AADT DLgv',
'AADT LtBus', 'AADT Coach', 'AADT Rigid2Axle', 'AADT Rigid3Axle',
'AADT Rigid4Axle', 'AADT Artic3Axle', 'AADT Artic5Axle',
'AADT Artic6Axle', 'AADT ElectricCar', 'AADT ElectricLgv', 'AADT TOTAL',
'Speed (kph)', 'Length (m)_y'],
dtype='object')
label = []
columnstokeep = df.columns
for a in columnstokeep:
if 'AADT' in a:
label = label + [a]
elif 'Speed' in a:
label = label + [a]
elif 'Length' in a:
label = label + [a]
label
['Length (m)_x', 'AADT Motorcycle', 'AADT Taxi', 'AADT Pcar', 'AADT Dcar', 'AADT PLgv', 'AADT DLgv', 'AADT LtBus', 'AADT Coach', 'AADT Rigid2Axle', 'AADT Rigid3Axle', 'AADT Rigid4Axle', 'AADT Artic3Axle', 'AADT Artic5Axle', 'AADT Artic6Axle', 'AADT ElectricCar', 'AADT ElectricLgv', 'AADT TOTAL', 'Speed (kph)', 'Length (m)_y']
# remove irrelevant columns
label.remove('AADT TOTAL')
label.remove('Speed (kph)')
label.remove('Length (m)_y')
label
['Length (m)_x', 'AADT Motorcycle', 'AADT Taxi', 'AADT Pcar', 'AADT Dcar', 'AADT PLgv', 'AADT DLgv', 'AADT LtBus', 'AADT Coach', 'AADT Rigid2Axle', 'AADT Rigid3Axle', 'AADT Rigid4Axle', 'AADT Artic3Axle', 'AADT Artic5Axle', 'AADT Artic6Axle', 'AADT ElectricCar', 'AADT ElectricLgv']
target = ['Motorcycle', 'Taxi', 'Car',
'BusAndCoach', 'Lgv', 'Rigid', 'Artic', 'Rigid2Axle', 'Rigid3Axle',
'Rigid4Axle', 'Artic3Axle', 'Artic5Axle', 'Artic6Axle', 'PetrolCar',
'DieselCar', 'PetrolLgv', 'DieselLgv', 'LtBus', 'Coach', 'ElectricCar',
'ElectricLgv']
# save plot to visuals folder
if not os.path.exists('visuals'):
os.makedirs('visuals')
# plot the correlation matrix
corr = df[label + target].corr()
plt.figure(figsize=(30, 30))
sns.heatmap(corr, annot=True, fmt='.2f', cmap='coolwarm')
plt.savefig('visuals/main_correlation_matrix.png')
# sum the target variables to one column
df['Total Emissions'] = df[target].sum(axis=1)
# Split df by unique 'Pollutant' values into dictionary
df_dict = {k: v for k, v in df.groupby('Pollutant')}
df_dict.keys()
dict_keys(['CO2', 'NOx', 'PM10_Brake', 'PM10_Exhaust', 'PM10_Resusp', 'PM10_Tyre', 'PM25_Brake', 'PM25_Exhaust', 'PM25_Resusp', 'PM25_Tyre'])
for k, v in df_dict.items():
print(k, v.shape)
CO2 (87996, 59) NOx (87996, 59) PM10_Brake (87996, 59) PM10_Exhaust (87996, 59) PM10_Resusp (87996, 59) PM10_Tyre (87996, 59) PM25_Brake (87996, 59) PM25_Exhaust (87996, 59) PM25_Resusp (87996, 59) PM25_Tyre (87996, 59)
from sklearn.model_selection import train_test_split
train_test_set = {}
for k, v in df_dict.items():
x_train, x_test, y_train, y_test = train_test_split(v[label], v['Total Emissions'], test_size=0.2, random_state=42)
# drop indexes
x_train = x_train.reset_index(drop=True)
x_test = x_test.reset_index(drop=True)
y_train = y_train.reset_index(drop=True)
y_test = y_test.reset_index(drop=True)
train_test_set[k] = {'x_train': x_train, 'x_test': x_test, 'y_train': y_train, 'y_test': y_test}
train_test_set.keys()
dict_keys(['CO2', 'NOx', 'PM10_Brake', 'PM10_Exhaust', 'PM10_Resusp', 'PM10_Tyre', 'PM25_Brake', 'PM25_Exhaust', 'PM25_Resusp', 'PM25_Tyre'])
# feature selection
for k, v in train_test_set.items():
selector = SelectKBest(f_regression, k=10)
selector.fit(v['x_train'], v['y_train'])
v['x_train'] = selector.transform(v['x_train'])
v['x_test'] = selector.transform(v['x_test'])
v['selected_features'] = [label[i] for i in selector.get_support(indices=True)]
v['x_train'] = pd.DataFrame(v['x_train'], columns=v['selected_features'])
v['x_test'] = pd.DataFrame(v['x_test'], columns=v['selected_features'])
v['selector'] = selector
print(k, v['selected_features'])
CO2 ['Length (m)_x', 'AADT Pcar', 'AADT Dcar', 'AADT PLgv', 'AADT DLgv', 'AADT Rigid2Axle', 'AADT Rigid3Axle', 'AADT Artic3Axle', 'AADT Artic5Axle', 'AADT Artic6Axle'] NOx ['Length (m)_x', 'AADT Pcar', 'AADT Dcar', 'AADT PLgv', 'AADT DLgv', 'AADT Rigid2Axle', 'AADT Rigid3Axle', 'AADT Artic3Axle', 'AADT Artic5Axle', 'AADT Artic6Axle'] PM10_Brake ['Length (m)_x', 'AADT Pcar', 'AADT Dcar', 'AADT PLgv', 'AADT DLgv', 'AADT Rigid2Axle', 'AADT Rigid3Axle', 'AADT Artic3Axle', 'AADT Artic5Axle', 'AADT Artic6Axle'] PM10_Exhaust ['Length (m)_x', 'AADT Pcar', 'AADT Dcar', 'AADT PLgv', 'AADT DLgv', 'AADT Rigid2Axle', 'AADT Rigid3Axle', 'AADT Artic3Axle', 'AADT Artic5Axle', 'AADT Artic6Axle'] PM10_Resusp ['Length (m)_x', 'AADT Pcar', 'AADT Dcar', 'AADT PLgv', 'AADT DLgv', 'AADT Rigid2Axle', 'AADT Rigid3Axle', 'AADT Artic3Axle', 'AADT Artic5Axle', 'AADT Artic6Axle'] PM10_Tyre ['Length (m)_x', 'AADT Pcar', 'AADT Dcar', 'AADT PLgv', 'AADT DLgv', 'AADT Rigid2Axle', 'AADT Rigid3Axle', 'AADT Artic3Axle', 'AADT Artic5Axle', 'AADT Artic6Axle'] PM25_Brake ['Length (m)_x', 'AADT Pcar', 'AADT Dcar', 'AADT PLgv', 'AADT DLgv', 'AADT Rigid2Axle', 'AADT Rigid3Axle', 'AADT Artic3Axle', 'AADT Artic5Axle', 'AADT Artic6Axle'] PM25_Exhaust ['Length (m)_x', 'AADT Pcar', 'AADT Dcar', 'AADT PLgv', 'AADT DLgv', 'AADT Rigid2Axle', 'AADT Rigid3Axle', 'AADT Artic3Axle', 'AADT Artic5Axle', 'AADT Artic6Axle'] PM25_Resusp ['Length (m)_x', 'AADT Pcar', 'AADT Dcar', 'AADT PLgv', 'AADT DLgv', 'AADT Rigid2Axle', 'AADT Rigid3Axle', 'AADT Artic3Axle', 'AADT Artic5Axle', 'AADT Artic6Axle'] PM25_Tyre ['Length (m)_x', 'AADT Pcar', 'AADT Dcar', 'AADT PLgv', 'AADT DLgv', 'AADT Rigid2Axle', 'AADT Rigid3Axle', 'AADT Artic3Axle', 'AADT Artic5Axle', 'AADT Artic6Axle']
# create a table using dataframe for the selected features
df_selected_features = pd.DataFrame(columns=['Pollutant', 'Feature', 'Score', 'Pvalue'])
for k, v in train_test_set.items():
for i in range(len(v['selected_features'])):
# using concat to append a row to the dataframe
df_selected_features = pd.concat([df_selected_features,
pd.DataFrame([[k, v['selected_features'][i],
v['selector'].scores_[i],
v['selector'].pvalues_[i]]],
columns=['Pollutant', 'Feature', 'Score', 'Pvalue'])],
ignore_index=True)
df_selected_features = df_selected_features.sort_values(by=['Pollutant', 'Score'], ascending=False)
df_selected_features.head()
| Pollutant | Feature | Score | Pvalue | |
|---|---|---|---|---|
| 94 | PM25_Tyre | AADT DLgv | 44730.395889 | 0.0 |
| 95 | PM25_Tyre | AADT Rigid2Axle | 43381.929381 | 0.0 |
| 96 | PM25_Tyre | AADT Rigid3Axle | 30302.210535 | 0.0 |
| 90 | PM25_Tyre | Length (m)_x | 27354.984412 | 0.0 |
| 93 | PM25_Tyre | AADT PLgv | 24193.121504 | 0.0 |
# create output folder if it does not exist
if not os.path.exists('features'):
os.makedirs('features')
# save df_selected_features to csv in features folder
df_selected_features.to_csv('features/df_selected_features.csv', index=False)
# create output folder if it does not exist
if not os.path.exists('output'):
os.makedirs('output')
# output the training and testing sets to csv files in the output folder, with the target on the left
for k, v in train_test_set.items():
df_train_output = pd.concat([v['y_train'], v['x_train']], axis=1)
df_test_output = pd.concat([v['y_test'], v['x_test']], axis=1)
df_train_output.to_csv('output/' + k + '_train.csv', index=False)
df_test_output.to_csv('output/' + k + '_test.csv', index=False)
# visualize correlation matrix of selected features
for k, v in train_test_set.items():
corr = pd.DataFrame(v['x_train'], columns=v['selected_features']).corr()
# set title of plt to k
print(k)
plt.figure(figsize=(10,10))
sns.heatmap(corr, annot=True, fmt='.2f', cmap='coolwarm')
plt.savefig('visuals/' + k + '_correlation_matrix.png')
CO2 NOx PM10_Brake PM10_Exhaust PM10_Resusp PM10_Tyre PM25_Brake PM25_Exhaust PM25_Resusp PM25_Tyre
# if train_test_set is not initialized, load the csv files in the output folder
try:
train_test_set
except NameError:
train_test_set = {}
for file in os.listdir('output'):
if file.endswith('_train.csv'):
# exclude _train.csv from file name
pollutant = file[:-len('_train.csv')]
df_train = pd.read_csv('output/' + file)
df_test = pd.read_csv('output/' + pollutant + '_test.csv')
train_test_set[pollutant] = {'x_train': df_train.iloc[:, 1:],
'x_test': df_test.iloc[:, 1:],
'y_train': df_train.iloc[:, 0],
'y_test': df_test.iloc[:, 0]}
train_test_set[pollutant]['selected_features'] = list(train_test_set[pollutant]['x_train'].columns)
# stardaize the x_train and x_test
for k, v in train_test_set.items():
# initialize the scaler
scaler = StandardScaler()
# fit the scaler to the x_train
scaler.fit(v['x_train'])
# transform the x_train and x_test
v['x_train'] = scaler.transform(v['x_train'])
v['x_test'] = scaler.transform(v['x_test'])
v['x_train'] = pd.DataFrame(v['x_train'], columns=v['selected_features'])
v['x_test'] = pd.DataFrame(v['x_test'], columns=v['selected_features'])
# save the scaler
v['scaler'] = scaler
model_dict = {}
def train_eval_model(model, x_train, y_train, x_test, y_test):
# train the model
model.fit(x_train, y_train)
# predict the y_test
y_pred = model.predict(x_test)
# evaluate the model
mse = mean_squared_error(y_test, y_pred)
rmse = np.sqrt(mse)
r2 = r2_score(y_test, y_pred)
return {'model': model, 'mse': mse, 'rmse': rmse, 'r2': r2}
def hyperparameter_tuning(model, param_grid, pollutant, model_dict, x_train, y_train, x_test, y_test):
# initialize the grid search
grid_search = GridSearchCV(model, param_grid, cv=5)
# fit the grid search to the training data
grid_search.fit(x_train, y_train)
# save the best model
model_dict[pollutant]['best_model'] = grid_search.best_estimator_
# predict the y_test
y_pred = grid_search.best_estimator_.predict(x_test)
# evaluate the model
mse = mean_squared_error(y_test, y_pred)
rmse = np.sqrt(mse)
r2 = r2_score(y_test, y_pred)
model_dict[pollutant]['best_mse'] = mse
model_dict[pollutant]['best_rmse'] = rmse
model_dict[pollutant]['best_r2'] = r2
model_dict[pollutant]['best_params'] = grid_search.best_params_
model_dict[pollutant]['best_score'] = grid_search.best_score_
return model_dict
# model dict for each pollutant
LR_dict = {}
for k, v in train_test_set.items():
LR_dict[k] = train_eval_model(
LinearRegression(), v['x_train'], v['y_train'], v['x_test'], v['y_test'])
print(k, LR_dict[k]['mse'], LR_dict[k]['r2'], LR_dict[k]['rmse'])
CO2 156343.23707624507 0.6228061024706681 395.40262654191497 NOx 1.3337240174376739 0.5887914721059816 1.1548696971683317 PM10_Brake 0.002064996161808893 0.581905620953646 0.04544222883848121 PM10_Exhaust 0.0008067369355814339 0.5964592889324114 0.028403114892233808 PM10_Resusp 0.007830744110917233 0.5904504796613461 0.08849149174308925 PM10_Tyre 0.00028900442231542513 0.650662925495141 0.017000130067603165 PM25_Brake 0.00035156196710148805 0.566541695180498 0.01874998578936763 PM25_Exhaust 0.0005769161710396386 0.5835788811077669 0.024019079312905367 PM25_Resusp 1.0696322799024033e-05 0.5908667099465907 0.0032705233218896378 PM25_Tyre 0.00015482685366526594 0.6211541868187214 0.012442943930809379
# add LR_dict to model_dict
model_dict['LR'] = LR_dict
# model dict for each pollutant
SVR_dict = {}
for k, v in train_test_set.items():
SVR_dict[k] = train_eval_model(LinearSVR(random_state=42), v['x_train'], v['y_train'], v['x_test'], v['y_test'])
print(k, SVR_dict[k]['mse'], SVR_dict[k]['r2'], SVR_dict[k]['rmse'])
CO2 206120.64719294346 0.5027130579491648 454.0051180250543
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
NOx 1.550136473433082 0.522068037359138 1.2450447676421448
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM10_Brake 0.0023693446396178194 0.5202849796194939 0.048675914368585
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM10_Exhaust 0.0009373092222723734 0.5311452676040003 0.030615506239034713
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM10_Resusp 0.00965171057585185 0.4952135607040501 0.09824311973798394
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM10_Tyre 0.0003624392970289971 0.5618977637251551 0.019037838559799722
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM25_Brake 0.00043840414880690016 0.45946963280923314 0.020938102798651558
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM25_Exhaust 0.0006870866676056895 0.5040572387064558 0.02621233807972287
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM25_Resusp 1.4385739523001139e-05 0.4497468848421583 0.0037928537439507392 PM25_Tyre 0.00022401631596032212 0.45185449825554524 0.014967174615147714
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
As shown in the output above (ConvergenceWarning), the linear SVR was not able to converge, hyperparameter max_iter is increased to 2,000.
A grid search is performed to find the best hyperparameters for the model. The grid search is performed on the following hyperparameters:
- C: Regularization parameter, the strength of the regularization is inversely proportional to C. Must be strictly positive.
- epilson: Epsilon parameter in the epsilon-insensitive loss function.
param_grid = {'C': [0.1, 1, 10, 100],
'epsilon': [0.01, 0.001, 0.0001]}
for k, v in train_test_set.items():
SVR_dict = hyperparameter_tuning(LinearSVR(random_state=42, max_iter=2000), param_grid, k, SVR_dict, v['x_train'], v['y_train'], v['x_test'], v['y_test'])
print(k, SVR_dict[k]['best_params'], SVR_dict[k]['best_mse'], SVR_dict[k]['best_r2'], SVR_dict[k]['best_rmse'])
CO2 {'C': 100, 'epsilon': 0.001} 193877.50460409 0.5322508797152887 440.3152332183046
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
NOx {'C': 10, 'epsilon': 0.001} 1.5790238442882274 0.5131615971295512 1.2565921551116843
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM10_Brake {'C': 1, 'epsilon': 0.01} 0.0024926437290882304 0.49532093503552965 0.049926383096397346
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM10_Exhaust {'C': 0.1, 'epsilon': 0.01} 0.0009492061246991035 0.5251942763291007 0.030809188965292538
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM10_Resusp {'C': 100, 'epsilon': 0.01} 0.009010656116329575 0.5287408401923784 0.09492447585491097
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM10_Tyre {'C': 1, 'epsilon': 0.01} 0.0003044717754294714 0.6319666029824799 0.017449119617604533
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM25_Brake {'C': 0.1, 'epsilon': 0.01} 0.00038712198969855746 0.5226979675971349 0.019675415871044696
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM25_Exhaust {'C': 0.1, 'epsilon': 0.01} 0.0006342069936228603 0.5422260648062762 0.025183466672062057
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM25_Resusp {'C': 0.1, 'epsilon': 0.001} 1.183498084310895e-05 0.5473131522823859 0.0034402006980856436
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn( c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
PM25_Tyre {'C': 0.1, 'epsilon': 0.01} 0.00017205285544012475 0.5790038847505306 0.013116891988581928
c:\Users\zhu\miniconda3\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
Despite performing a grid search and increasing the maximum iterations, the model was not able to converge for the following pollutants:
- NOx
- PM10_Brake
- PM10_Exhaust
- PM10_Resusp
- PM10_Tyre
- PM25_Brake
- PM25_Exhaust
- PM25_Tyre
While CO2 and PM25_Resusp were able to converge, only a slight improvement was observed after hyperparameter tuning.
Therefore, linear SVR is not suitable for this dataset.
model_dict['SVR'] = SVR_dict
# model dict for each pollutant
DTR_dict = {}
for k, v in train_test_set.items():
DTR_dict[k] = train_eval_model(DecisionTreeRegressor(max_depth=5), v['x_train'], v['y_train'], v['x_test'], v['y_test'])
# add x_train to DTR_dict
DTR_dict[k]['x_train'] = v['x_train']
print(k, DTR_dict[k]['mse'], DTR_dict[k]['r2'], DTR_dict[k]['rmse'])
CO2 26796.950698261982 0.9353496418214142 163.69774188504246 NOx 0.2781550911232453 0.9142403195476974 0.5274041060925155 PM10_Brake 0.0011160096951484224 0.7740444320758151 0.03340673128500336 PM10_Exhaust 0.00012539893120846476 0.9372737609559078 0.011198166421716761 PM10_Resusp 0.0009744026984635491 0.9490385393622965 0.031215424047472896 PM10_Tyre 5.022991487854874e-05 0.9392840726251969 0.007087306602549994 PM25_Brake 0.0002281752809426322 0.7186713019768846 0.015105471887452976 PM25_Exhaust 9.613658983853143e-05 0.9306081050997367 0.009804926814542342 PM25_Resusp 1.4630324990932853e-06 0.9440391514863675 0.001209558803487158 PM25_Tyre 2.895337285167896e-05 0.9291539947840726 0.005380833843530105
for k, v in DTR_dict.items():
fig, ax = plt.subplots(figsize=(120, 12))
plot_tree(v['model'],
ax=ax,
feature_names=v['x_train'].columns,
fontsize=12,
filled=True)
plt.savefig('visuals/' + k + '_decision_tree.png')
param_grid = {'max_depth': [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, None]}
for k, v in train_test_set.items():
DTR_dict = hyperparameter_tuning(DecisionTreeRegressor(), param_grid, k, DTR_dict, v['x_train'], v['y_train'], v['x_test'], v['y_test'])
print(k, DTR_dict[k]['best_params'], DTR_dict[k]['best_score'], DTR_dict[k]['best_mse'], DTR_dict[k]['best_r2'], DTR_dict[k]['best_rmse'])
CO2 {'max_depth': 12} 0.9697240433391443 10141.367018728306 0.9755329247135643 100.70435451721194
NOx {'max_depth': 11} 0.9532745244751236 0.1533773723209562 0.9527112935961652 0.3916342328256765
PM10_Brake {'max_depth': 9} 0.7762390474883176 0.0009654341375156992 0.8045310719216077 0.031071436038839582
PM10_Exhaust {'max_depth': 12} 0.970536735750741 6.33419791509477e-05 0.9683154865240187 0.007958767439179745
PM10_Resusp {'max_depth': None} 0.9793104888627939 0.000277300536009141 0.9854971251896912 0.01665234325880718
PM10_Tyre {'max_depth': 11} 0.9728880194342917 1.9301499305373974e-05 0.976669113756544 0.0043933471642215996
PM25_Brake {'max_depth': 9} 0.7852800279039471 0.00014973459928669048 0.8153847354002886 0.012236608978254166
PM25_Exhaust {'max_depth': 12} 0.9716421510864082 4.403156426432581e-05 0.9682177859142277 0.006635628400108448
PM25_Resusp {'max_depth': 12} 0.9780218511170398 4.516586770220282e-07 0.9827241002367605 0.0006720555609635473
PM25_Tyre {'max_depth': None} 0.9730447966223146 8.00454787131006e-06 0.9804136725918933 0.0028292309681802333
model_dict['DTR'] = DTR_dict
RFR_dict = {}
for k, v in train_test_set.items():
RFR_dict[k] = train_eval_model(RandomForestRegressor(random_state=42), v['x_train'], v['y_train'], v['x_test'], v['y_test'])
print(k, RFR_dict[k]['mse'], RFR_dict[k]['r2'], RFR_dict[k]['rmse'])
CO2 5182.412786670413 0.9874969041567384 71.98897684139158 NOx 0.0793740868329035 0.9755276946559032 0.28173407112542054 PM10_Brake 0.0006430227269420954 0.8698088680716739 0.02535789279380476 PM10_Exhaust 2.9690074433202608e-05 0.9851486237706606 0.0054488599204973705 PM10_Resusp 0.00012833779545375515 0.9932879070207226 0.011328627253721218 PM10_Tyre 1.0223574497084213e-05 0.9876421489429809 0.0031974324851487034 PM25_Brake 0.00010593440864047174 0.8693881776520503 0.010292444250054102 PM25_Exhaust 2.619579850298466e-05 0.9810917352113209 0.0051181831251904866 PM25_Resusp 1.9976005031682747e-07 0.9923591978156442 0.0004469452430855792 PM25_Tyre 4.6307604902270805e-06 0.9886689926066657 0.0021519201867697324
param_grid = {'n_estimators': [120, 150, 200]}
for k, v in train_test_set.items():
RFR_dict = hyperparameter_tuning(RandomForestRegressor(random_state=42), param_grid, k, RFR_dict, v['x_train'], v['y_train'], v['x_test'], v['y_test'])
print(k, RFR_dict[k]['best_params'], RFR_dict[k]['best_mse'], RFR_dict[k]['best_r2'], RFR_dict[k]['best_rmse'])
CO2 {'n_estimators': 200} 5181.916028565403 0.98749810263599 71.98552652141542
NOx {'n_estimators': 200} 0.07917984362339837 0.9755875829560235 0.2813891320278706
PM10_Brake {'n_estimators': 120} 0.0006479354559862355 0.86881420065431 0.02545457632698363
PM10_Exhaust {'n_estimators': 150} 3.0021769435629244e-05 0.9849827054505327 0.005479212483161175
PM10_Resusp {'n_estimators': 150} 0.00012748472250863533 0.9933325229104182 0.011290913271681585
PM10_Tyre {'n_estimators': 200} 9.870728996230191e-06 0.9880686545792372 0.0031417716333671025
PM25_Brake {'n_estimators': 200} 0.00010477083756667516 0.8708228025329586 0.010235762676355639
PM25_Exhaust {'n_estimators': 200} 2.6032444649002596e-05 0.9812096448801173 0.005102199981282838
PM25_Resusp {'n_estimators': 200} 1.982879971088954e-07 0.9924155037053795 0.0004452954043204302
PM25_Tyre {'n_estimators': 200} 4.686965799321414e-06 0.9885314638413071 0.0021649401375838117
model_dict['RFR'] = RFR_dict
GBR_dict = {}
for k, v in train_test_set.items():
GBR_dict[k] = train_eval_model(GradientBoostingRegressor(random_state=42), v['x_train'], v['y_train'], v['x_test'], v['y_test'])
print(k, GBR_dict[k]['mse'], GBR_dict[k]['r2'], GBR_dict[k]['rmse'])
CO2 8633.984438343794 0.9791696378915432 92.91923610503798 NOx 0.12507121446808328 0.9614385365256115 0.3536540887195895 PM10_Brake 0.0007463028495536954 0.8488980114174403 0.02731854405991826 PM10_Exhaust 5.23467732373466e-05 0.9738154370246256 0.007235106995570045 PM10_Resusp 0.00028455085172488724 0.9851179321932622 0.016868635147067684 PM10_Tyre 1.6312135086506545e-05 0.9802825385701923 0.00403882842994185 PM25_Brake 0.00012991753206301817 0.8398181871643908 0.011398137218994082 PM25_Exhaust 3.9747194771496814e-05 0.9713102662909461 0.0063045376334428214 PM25_Resusp 3.9588097782204745e-07 0.9848575917192146 0.0006291907324667517 PM25_Tyre 8.118895141196143e-06 0.9801338762683258 0.00284936749844525
# grid search for best parameters for GradientBoostingRegressor
param_grid = {'n_estimators': [120, 150, 200],
'max_depth': [4, 6]}
for k, v in train_test_set.items():
GBR_dict = hyperparameter_tuning(GradientBoostingRegressor(random_state=42),
param_grid,
pollutant=k,
model_dict=GBR_dict,
x_train=v['x_train'],
y_train=v['y_train'],
x_test=v['x_test'],
y_test=v['y_test'])
print(k, GBR_dict[k]['best_params'], GBR_dict[k]['best_mse'], GBR_dict[k]['best_r2'], GBR_dict[k]['best_rmse'])
CO2 {'max_depth': 6, 'n_estimators': 200} 4596.919651769342 0.9889094656570628 67.80058739988424
NOx {'max_depth': 6, 'n_estimators': 200} 0.07728462765420593 0.9761719084675563 0.2780011288721791
PM10_Brake {'max_depth': 4, 'n_estimators': 200} 0.0006247586432570933 0.8735067493890137 0.024995172399027245
PM10_Exhaust {'max_depth': 6, 'n_estimators': 200} 2.5179368362380418e-05 0.9874049398694451 0.0050179047781300536
PM10_Resusp {'max_depth': 6, 'n_estimators': 200} 0.00011775479221586277 0.9938414002569246 0.010851488018509848
PM10_Tyre {'max_depth': 6, 'n_estimators': 200} 8.046847036130969e-06 0.9902732906989152 0.0028366965005320833
PM25_Brake {'max_depth': 4, 'n_estimators': 200} 0.00010093230578376914 0.8755555200488266 0.010046507143468776
PM25_Exhaust {'max_depth': 6, 'n_estimators': 200} 2.0325509738706752e-05 0.9853289404382709 0.004508382164225517
PM25_Resusp {'max_depth': 6, 'n_estimators': 200} 1.7520702533832494e-07 0.9932983485947451 0.000418577382736245
PM25_Tyre {'max_depth': 6, 'n_estimators': 200} 4.205481540390601e-06 0.989709607627675 0.0020507270760368383
model_dict['GBR'] = GBR_dict
XGB_dict = {}
for k, v in train_test_set.items():
XGB_dict[k] = train_eval_model(XGBRegressor(random_state=42), v['x_train'], v['y_train'], v['x_test'], v['y_test'])
print(k, XGB_dict[k]['mse'], XGB_dict[k]['r2'], XGB_dict[k]['rmse'])
CO2 4248.047338888423 0.9897511554537981 65.1770461043489 NOx 0.07502231582260359 0.9768694155272984 0.27390201865375796 PM10_Brake 0.0006517468906207693 0.8680425094394434 0.025529333924346115 PM10_Exhaust 2.649124024145316e-05 0.9867487238372276 0.0051469641772071 PM10_Resusp 0.00012123851173245462 0.9936592010129184 0.011010836105058264 PM10_Tyre 8.809767276381068e-06 0.989351102994401 0.002968125212382569 PM25_Brake 0.00010614136977098437 0.869133004939441 0.010302493376410603 PM25_Exhaust 2.22905163790261e-05 0.9839105883364085 0.004721283340261003 PM25_Resusp 2.363324085222132e-07 0.9909603087283639 0.0004861403177295761 PM25_Tyre 4.437779057876622e-06 0.9891411988547224 0.002106603678406696
# grid search for best parameters for XGBRegressor
param_grid = {'n_estimators': [120, 150, 200],
'max_depth': [6, 8]}
for k, v in train_test_set.items():
XGB_dict = hyperparameter_tuning(XGBRegressor(random_state=42),
param_grid,
pollutant=k,
model_dict=XGB_dict,
x_train=v['x_train'],
y_train=v['y_train'],
x_test=v['x_test'],
y_test=v['y_test'])
print(k, XGB_dict[k]['best_params'], XGB_dict[k]['best_mse'], XGB_dict[k]['best_r2'], XGB_dict[k]['best_rmse'])
CO2 {'max_depth': 6, 'n_estimators': 200} 3726.5828714324016 0.9910092413075973 61.045744089431835
NOx {'max_depth': 8, 'n_estimators': 200} 0.06234448170662684 0.9807781953314824 0.24968876968463527
PM10_Brake {'max_depth': 6, 'n_estimators': 120} 0.0006546082734722817 0.8674631727275199 0.025585313628569844
PM10_Exhaust {'max_depth': 6, 'n_estimators': 200} 2.4332260875297865e-05 0.9878286744756233 0.004932774156121266
PM10_Resusp {'max_depth': 6, 'n_estimators': 200} 0.00010098858053788857 0.9947182765605491 0.0100493074655863
PM10_Tyre {'max_depth': 6, 'n_estimators': 200} 7.934530900636035e-06 0.9904090539854391 0.0028168299381815783
PM25_Brake {'max_depth': 6, 'n_estimators': 120} 0.00010611452254087317 0.869166106230087 0.010301190345822815
PM25_Exhaust {'max_depth': 6, 'n_estimators': 200} 2.028743938985613e-05 0.9853564198157971 0.0045041580111998885
PM25_Resusp {'max_depth': 8, 'n_estimators': 120} 2.2276216625497223e-07 0.9914793691540763 0.0004719768704660984
PM25_Tyre {'max_depth': 6, 'n_estimators': 200} 3.98262336729109e-06 0.9902549192697659 0.001995651113619585
model_dict['XGB'] = XGB_dict
if not os.path.exists('pickles'):
os.makedirs('pickles')
if not os.path.exists('metrics'):
os.makedirs('metrics')
# Save the model_dict to a pickle file
with open('pickles/model_dict.pkl', 'wb') as f:
pickle.dump(model_dict, f)
# consolidate the metrics for each model from model_dict to a csv file
df_metrics = pd.DataFrame()
columns_list = ['model_name', 'pollutant', 'mse', 'rmse', 'r2', 'best_mse', 'best_rmse', 'best_r2', 'best_params']
for k, v in model_dict.items():
for k1, v1 in v.items():
if 'best_model' in v1.keys():
row = [k, k1, v1['mse'], v1['rmse'], v1['r2'],
v1['best_mse'], v1['best_rmse'], v1['best_r2'], v1['best_params']]
else:
row = [k, k1, v1['mse'], v1['rmse'], v1['r2'], np.nan, np.nan, np.nan, np.nan]
df_metrics = pd.concat([df_metrics, pd.DataFrame([row], columns=columns_list)], axis=0)
# copy mse, rmse and r2 from LR in df_metrics to best_mse, best_rmse and best_r2
df_metrics.loc[df_metrics['model_name'] == 'LR', 'best_mse'] = df_metrics.loc[df_metrics['model_name'] == 'LR', 'mse']
df_metrics.loc[df_metrics['model_name'] == 'LR', 'best_rmse'] = df_metrics.loc[df_metrics['model_name'] == 'LR', 'rmse']
df_metrics.loc[df_metrics['model_name'] == 'LR', 'best_r2'] = df_metrics.loc[df_metrics['model_name'] == 'LR', 'r2']
df_metrics.loc[df_metrics['model_name'] == 'LR', 'best_params'] = 'default'
df_metrics.to_csv('metrics/consolidated_metrics.csv')
# if df_selected_features is not initialized, load from features folder
try:
df_selected_features
except NameError:
df_selected_features = pd.read_csv('features/selected_features.csv')
df_selected_features.head()
| Pollutant | Feature | Score | Pvalue | |
|---|---|---|---|---|
| 94 | PM25_Tyre | AADT DLgv | 44730.395889 | 0.0 |
| 95 | PM25_Tyre | AADT Rigid2Axle | 43381.929381 | 0.0 |
| 96 | PM25_Tyre | AADT Rigid3Axle | 30302.210535 | 0.0 |
| 90 | PM25_Tyre | Length (m)_x | 27354.984412 | 0.0 |
| 93 | PM25_Tyre | AADT PLgv | 24193.121504 | 0.0 |
# if model_dict is not initialized, load from models folder
try:
model_dict
except NameError:
with open('pickles/model_dict.pkl', 'rb') as f:
model_dict = pickle.load(f)
# if df_metrics is not initialized, load from metrics folder
try:
df_metrics
except NameError:
df_metrics = pd.read_csv('metrics/consolidated_metrics.csv')
df_metrics.head()
| model_name | pollutant | mse | rmse | r2 | best_mse | best_rmse | best_r2 | best_params | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | LR | CO2 | 156343.237076 | 395.402627 | 0.622806 | 156343.237076 | 395.402627 | 0.622806 | default |
| 0 | LR | NOx | 1.333724 | 1.154870 | 0.588791 | 1.333724 | 1.154870 | 0.588791 | default |
| 0 | LR | PM10_Brake | 0.002065 | 0.045442 | 0.581906 | 0.002065 | 0.045442 | 0.581906 | default |
| 0 | LR | PM10_Exhaust | 0.000807 | 0.028403 | 0.596459 | 0.000807 | 0.028403 | 0.596459 | default |
| 0 | LR | PM10_Resusp | 0.007831 | 0.088491 | 0.590450 | 0.007831 | 0.088491 | 0.590450 | default |
def get_best_model(df, best_metric, min_max):
"""
Get the best model for each pollutant based on the best_metric
"""
# Create a pivot table with pollutant as the index, model_name as the columns, and best_mse as the values
pivot = pd.pivot_table(df, index='pollutant',
columns='model_name', values=best_metric)
# get the lowest or highest value for each row, the corresponding model_name for each column
if min_max == 'min':
best_model = pivot.idxmin(axis=1)
elif min_max == 'max':
best_model = pivot.idxmax(axis=1)
column_names = ['pollutant', best_metric]
df_best_metric = pd.DataFrame(columns=column_names)
# convert best_model to df_best_mse
for i in range(len(best_model)):
df_best_metric = pd.concat([df_best_metric, pd.DataFrame([[best_model.index[i], best_model[i]]], columns=column_names)], axis=0)
return df_best_metric
df_best_r2 = get_best_model(df_metrics, 'best_r2', 'max')
df_best_mse = get_best_model(df_metrics, 'best_mse', 'min')
df_best_rmse = get_best_model(df_metrics, 'best_rmse', 'min')
# combine df_best_r2, df_best_mse and df_best_rmse
df_best_model = pd.merge(df_best_r2, df_best_mse, on='pollutant')
df_best_model = pd.merge(df_best_model, df_best_rmse, on='pollutant')
df_best_model.to_csv('metrics/best_model.csv')
df_best_model
| pollutant | best_r2 | best_mse | best_rmse | |
|---|---|---|---|---|
| 0 | CO2 | XGB | XGB | XGB |
| 1 | NOx | XGB | XGB | XGB |
| 2 | PM10_Brake | GBR | GBR | GBR |
| 3 | PM10_Exhaust | XGB | XGB | XGB |
| 4 | PM10_Resusp | XGB | XGB | XGB |
| 5 | PM10_Tyre | XGB | XGB | XGB |
| 6 | PM25_Brake | GBR | GBR | GBR |
| 7 | PM25_Exhaust | XGB | XGB | XGB |
| 8 | PM25_Resusp | GBR | GBR | GBR |
| 9 | PM25_Tyre | XGB | XGB | XGB |
# create and save pivot table for each pollutant, pivot based on model_name and the metrics
for k, v in df_metrics.groupby('pollutant'):
pivot = pd.pivot_table(v, index='model_name', values=['mse', 'rmse', 'r2', 'best_mse', 'best_rmse', 'best_r2'])
pivot.to_csv('metrics/pivot_{}.csv'.format(k))
# create and save a table with the model_name as index, a row with the best_params for each model, a column for each pollutant
df_best_params = pd.DataFrame(index=df_metrics['model_name'].unique())
for k, v in df_metrics.groupby('pollutant'):
df_best_params[k] = v['best_params'].values
# transpose the df_best_params
df_best_params = df_best_params.T
df_best_params.to_csv('metrics/best_params.csv')
# average the best_mse, best_rmse and best_r2 for each model across all pollutants
df_average_metrics = df_metrics.groupby('model_name').mean(numeric_only=True)[['best_mse', 'best_rmse', 'best_r2']]
df_average_metrics.to_csv('metrics/average_metrics.csv')